package com.weed.helper;

import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

/**
 * 函数说明：
 *     用于XML配置文件与Logic文件的配置。
 * @author Jason Zhuo
 * @version 1.0
 */
public class LogicMapFromXML {

  
  protected Map sqlMap = new HashMap();
  protected Map propertiesMap = new HashMap();
  
  
  private int processFlag = 0;//0，直接提交；1，预处理
  
  private static LogicMapFromXML logicMapFromXml = null;
  public static LogicMapFromXML getInstance() {
    if (logicMapFromXml == null)
      logicMapFromXml = new LogicMapFromXML();
    return logicMapFromXml;
  }

  public LogicMapFromXML() {}

  /**
   * 从XML中获得SQL语句。
   * XML中SQL语句为:
   *     select * from Table where column=@column and column1=@column1
   * 获取的SQL语句为
   *     select * form table where column = ? and column1 = ?
   * @return String
   */
  public String getSQL(Object label) {
    return (String)sqlMap.get(label);
  }
  /**
   * 将SQL语句放入堆中。
   * @param key 唯一健值
   * @param value 健值对应的值
   */
  public void putSQL(String key,Object value){
     sqlMap.put(key, value);
  }
  /**
   * 获得健的集合。
   * @see java.util.Set;
   * @return 
   */
  public Set keySet(){
    return sqlMap.keySet();
  }
   /**
   * 从SQL中解析出属性列表。
   * 例：
   *    Select * from Table where column = @column and column1 = @column1
   *    则
   *     列表为： 1   column
   *             2   column1
   * @return List
   */
  public List getPropertiesList(Object label) {
    return (List)propertiesMap.get(label);
  }

    public int getProcessFlag() {
        return processFlag;
    }

    public void setProcessFlag(int processFlag) {
        this.processFlag = processFlag;
    }

}
